﻿/*
 * Carga los datos desde el XML "smist_categ_sen" a Base de Datos SQLite
 */

function cargarCategSen() {
	// Cargar tabla smist_categ_sen
	$.get("../data/smist_base/smist_categ_sen.xml", function (xml) {
		$(xml).find("row").each(function () {
			id_tipo_sen 			= $(this).find('id_tipo_sen').text();
			nombre 					= $(this).find('nombre').text();
			  
			insertarCategSenXML(id_tipo_sen, nombre);
		});
	});
}


/*
 * Insertar los Datos de las Categorías de una Señal desde un XML
 */

function insertarCategSenXML(id_tipo_sen, nombre) {
    db.transaction(function(tx) {
		tx.executeSql('INSERT INTO smist_categ_sen (id_tipo_sen, nombre) VALUES (?, ?)', [id_tipo_sen, nombre]);
	});
}


/*
 * Consultar los Datos de las Categorías de una Señal
 */

function consultarCategSen() {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smist_categ_sen', []);
	});
}


/*
 * Consultar los Datos de las Categorías de una Señal para el Combo
 */

function consultarComboCategSen( id_tipo_sen ) {
	db.transaction(function(tx) {
		if ( id_tipo_sen ) {
			tx.executeSql('SELECT * FROM smist_categ_sen where id_tipo_sen = ' + id_tipo_sen, [], resConsultarComboCategSen);
		} else {
			tx.executeSql('SELECT * FROM smist_categ_sen', [], comboCategSen);
		}
	});
}


/*
 * Repuesta a Consultar los Datos de las Categorías de una Señal para el Combo
 */

function resConsultarComboCategSen(tx, rs) {
	for(var i=0; i < rs.rows.length; i++) {
		r = rs.rows.item(i);
		$('#id_categ_sen').append($("<option></option>").attr("value",r['id_categ_sen']).text(r['nombre']));
	}
}


/*
 * Consultar el Nombre de una Categoría de una Señal
 */

function consultarNombreCategSen( id_categ_sen, id_tipo_sen ) {
    db.transaction(function(tx) {
        tx.executeSql('SELECT nombre FROM smist_categ_sen WHERE id_categ_sen = ? AND id_tipo_sen = ?', [id_categ_sen, id_tipo_sen], resConsultarNombreCategSen);
    });
}


/*
 * Repuesta a Consultar el Nombre de una Categorías de una Señal
 */

function resConsultarNombreCategSen(tx, rs) {
    r = rs.rows.item(0);
    $('#nombre_categ_sen').val(r['nombre']);
}


/*
 * PRUEBAS DE CARGA DE DATA DE XML A BD
 */

/*
 * Prueba de carga de todos los Datos del XML a BD
 */

function pruebaCategSen() {
    db.transaction(function(tx) {
        tx.executeSql('SELECT * FROM smist_categ_sen', [], resPruebaCategSen);
    });
}


/*
 * Respuesta a la Prueba de carga de todos los Datos del XML a BD
 */

function resPruebaCategSen(tx, rs) {
    alert("Cantidad: " + rs.rows.length + " -> 45");
}